﻿using System;
using System.Collections.Generic;
using System.Linq; 
using System.Text;

namespace Cephei.QL
{
    /// <summary>
    /// Provides an interface to set the evaluation date for Quantlibs rather stupid implementation!
    /// </summary>
    public interface ISession
    {
        /// <summary>
        /// Apply session parameters to the object
        /// </summary>
        /// <typeparam name="T">type of the object being processed</typeparam>
        /// <param name="t">value</param>
        /// <returns>same value as passed in</returns>
        T With<T> (T t);
    }

    public interface ISession_Factory
    {
        ISession Create (DateTime effectiveDate);
    }
}
